struct _HIVE_LIST_ENTRY// Size=0xc8
{
    wchar_t * FileName;// Offset=0x0 Size=0x8
    wchar_t * BaseName;// Offset=0x8 Size=0x8
    wchar_t * RegRootName;// Offset=0x10 Size=0x8
    struct _CMHIVE * CmHive;// Offset=0x18 Size=0x8
    unsigned long HHiveFlags;// Offset=0x20 Size=0x4
    unsigned long CmHiveFlags;// Offset=0x24 Size=0x4
    unsigned long CmKcbCacheSize;// Offset=0x28 Size=0x4
    struct _CMHIVE * CmHive2;// Offset=0x30 Size=0x8
    unsigned char HiveMounted;// Offset=0x38 Size=0x1
    unsigned char ThreadFinished;// Offset=0x39 Size=0x1
    unsigned char ThreadStarted;// Offset=0x3a Size=0x1
    unsigned char Allocate;// Offset=0x3b Size=0x1
    unsigned char WinPERequired;// Offset=0x3c Size=0x1
    struct _KEVENT StartEvent;// Offset=0x40 Size=0x18
    struct _KEVENT FinishedEvent;// Offset=0x58 Size=0x18
    struct _KEVENT MountLock;// Offset=0x70 Size=0x18
    struct _EX_PUSH_LOCK MountCallbackLock;// Offset=0x88 Size=0x8
    struct _EX_PUSH_LOCK CallbackListLock;// Offset=0x90 Size=0x8
    struct _LIST_ENTRY CallbackListHead;// Offset=0x98 Size=0x10
    struct _WORK_QUEUE_ITEM * CallbackWorkItem;// Offset=0xa8 Size=0x8
    long CallbackWorkItemBusy;// Offset=0xb0 Size=0x4
    struct _UNICODE_STRING FilePath;// Offset=0xb8 Size=0x10
};